科技新知

Night Build 實務操作上的注意點

Night build第一個要注意的問題,就是要確保同一個commit,真的可以重複建設。一般來說,大家的目標只在運行測試,而自動測試不具破壞性,就基本可以重複的。而如果測試當中包含發佈測試版本,那就還要考慮重複發佈有沒有生效或造成附作用。

以Java maven為例,重複發佈測試版本需要遵守特定的規則,版本號需要以SNAPSHOT結尾,這是為讓maven每天都會重新下載它們的包。而沒有SNAPSHOT結尾的,就只會做一次性下載,減少重複下載造成的資源浪費。若真遇著不支援重複發佈的情況,就需要以日期時間做版本號,就像vscode的某些插件,就是以時間截結尾以作為區分。

Night build另一個要注意的問題,就是開發圖隊何時進行下一輪開發,這會決定何時有新的版本號。扣除上述因為工具不支援的而引發的副作用,還要考慮沒有更新而發生的問題。

有個尷尬情況是,團隊在發佈現行版本時,release commit與main有機會是同一個commit(也就是未有進行下一輪開發)。若不斷重複發佈,有沒有變相發佈了一些沒有預期的功能?例如Docker image,官方大力建議每日自動發佈。當底層的image更新後,頂層引用它們的image,也可以重新發佈,保持安全性。但這樣做的問題,就是頂層的同一個版本號,昨日與今日的運行結果也可能不一樣。這對追蹤問題,並不友好。

所以大家做分支整合時,要預先對版本號作好規劃。然後還要留意Night build不應與release commit重疊。版本號大家做好語意管理,再加上alpha / beta / SNAPSHOT等區分Night build版本,應該就足夠了。而commit重疊問題,就要留意開發週期,Night build要麼就比release早一個commit(即在release時,不推進Night build),要麼晚一個commit(即馬上規劃下一個版本號進行Night build)。

馬交野


4DX  神奇4俠: 英雄第一步
藍精靈
名偵探柯南:獨眼的殘像
4DX  名偵探柯南 獨眼的殘像
MX4D 名偵探柯南 獨眼的殘像
劇場版《名偵探柯南:獨眼的殘像》
末日廝殺橋 澳門韓國電影節 2025
再‧見熊貓福寶 澳門韓國電影節 2025
哈爾濱 澳門韓國電影節 2025
復國者聯盟 澳門韓國電影節 2025
MX4D 鬼滅之刃 劇場版 無限列車篇
IMAX with Laser 神奇4俠: 英雄第一步
醬園弄.懸案
劇場版 GIVEN 被贈與的未來 -To The Sea-
醬園弄·懸案
SEISHUN INOSHISHI ATARASHII GAKKO! THE MOVIE
4DX  F1電影
MX4D F1電影
F1 電影
F1電影
愉快動物餅大電影
名偵探柯南 獨眼的殘像
電影多啦A夢:大雄之繪畫世界物語
神奇4俠:英雄第一步
殺神JOHN WICK外傳:芭蕾殺姬
28 年後
人工殺姬 2.0
外星奇遇記 英語版
舊年暑假搞乜鬼
神奇4俠: 英雄第一步
藍精靈大電影
超人
外星奇遇記
職業特工隊:最終清算
侏羅紀世界:重生
史迪仔
死神來了:血脈
4DX  神奇4俠: 英雄第一步